@
Eu estou usando seus sistemas Fight Tower:
tudo correr bem, mas acabam brigando com Chuck Norris booklungs seu prêmio, e pode voltar a lutar com Chuck Norris e voltar a ganhar o prêmio: S
uma idéia?
Por lucashgas, 10 de jan. de 2012 em Tópicos Sem Resposta
@
Eu estou usando seus sistemas Fight Tower:
tudo correr bem, mas acabam brigando com Chuck Norris booklungs seu prêmio, e pode voltar a lutar com Chuck Norris e voltar a ganhar o prêmio: S
uma idéia?
info
Grupo: Campones
Registrado: 13/01/10
Posts: 74
Reputação: +3
Char no Tibia: Hunter Lokinho

como q tiiiraa a perda de life enquanto estiver usando dive??
@BLACKHERT
Faz uma storage para que não possa fazer 2x a mesma coisa.
info
Grupo: Conde
Registrado: 06/08/11
Posts: 752
Reputação: +112

data/movements/scripts/drown.lua
local condition = createConditionObject(CONDITION_DROWN) setConditionParam(condition, CONDITION_PARAM_PERIODICDAMAGE, -20) setConditionParam(condition, CONDITION_PARAM_TICKS, -1) setConditionParam(condition, CONDITION_PARAM_TICKINTERVAL, 2000) function onStepIn(cid, item, position, fromPosition) if(isPlayer(cid)) then doAddCondition(cid, condition) end return true end function onStepOut(cid, item, position, fromPosition) doRemoveCondition(cid, CONDITION_DROWN) return true end
No numero 20 é o tanto de perda de life que ele recebe ;] '
Editado Fevereiro 3 por DarkeyreN
info
Grupo: Conde
Registrado: 06/08/11
Posts: 752
Reputação: +112

@ZerefShirou
Quest
local level = 1
local extrastr = 5
local btype = "normal"
function onUse(cid, item, frompos, item2, topos)
local pokemon = ""
if item.uid == nil then return true end
if item.itemid == 12420 then
pokemon = "Hitmonlee"
elseif item.itemid == 12574 then
pokemon = "Hitmonchan"
else
return true
end
if getPlayerStorageValue(cid, 344487) == 2 then
return doPlayerSendCancel(cid, "You have picked your prize!")
end
if getPlayerStorageValue(cid, 344487) ~= 1 then
return doPlayerSendCancel(cid, "You need own all fight trainer to choose your prize!")
end
if getPlayerMana(cid) >= 6 then
return doPlayerSendCancel(cid, "You don't have capacity for your prize!")
end
if pokemon == "" then return true end
local gender = getRandomGenderByName(pokemon)
local mypoke = getPokemonStatus(pokemon)
if not mypoke then return true end
local offense = mypoke.off * level * extrastr
local defense = mypoke.def * level * extrastr
local speed = mypoke.agi * level * extrastr
local vit = mypoke.vit * level * extrastr
local spatk = mypoke.spatk * level * extrastr
local happy = 180
local leveltable = getPokemonExperienceTable(pokemon)
local item = doCreateItemEx(2219)
doItemSetAttribute(item, "poke", pokemon)
doItemSetAttribute(item, "hp", 1)
doItemSetAttribute(item, "level", level)
doItemSetAttribute(item, "exp", leveltable[level])
doItemSetAttribute(item, "nextlevelexp", leveltable[level+1] - leveltable[level])
doItemSetAttribute(item, "offense", offense)
doItemSetAttribute(item, "defense", defense)
doItemSetAttribute(item, "speed", speed)
doItemSetAttribute(item, "vitality", vit)
doItemSetAttribute(item, "specialattack", spatk)
doItemSetAttribute(item, "happy", happy)
doItemSetAttribute(item, "gender", gender)
if pokemon == "Hitmonchan" then
doItemSetAttribute(item, "hands", 0)
end
doItemSetAttribute(item, "description", "Contains a "..pokemon..".")
doItemSetAttribute(item, "fakedesc", "Contains a "..pokemon..".")
doPlayerAddItemEx(cid, item, true)
doTransformItem(item, pokeballs[btype].on)
doPlayerSendTextMessage(cid, 27, "You choose a "..pokemon..".")
setPlayerStorageValue(cid, 344487, 2)
doSendMagicEffect(getThingPos(cid), 29)
doSendMagicEffect(getThingPos(cid), 27)
doSendMagicEffect(getThingPos(cid), 29)
return TRUE
end
Npc chuk norris ele da storage 344487
local focus = 0
local max_distance = 8
local talk_start = 0
local conv = 0
local fighting = false
local challenger = 0
local afk_limit_time = 30 -- seconds
local afk_time = 0 -- don't change
local battle_turn = 1 -- don't change
local challenger_turn = 0 -- don't change
local pokemons = {
{name = "Shiny Machamp", level = 100, extralevel = 150, sex = SEX_MALE, nick = "", ball = "normal"},
}
local function doSummonGymPokemon(npc)
local this = npc
if not isCreature(this) then return true end
if #getCreatureSummons(this) >= 1 or focus == 0 then return true end
local it = pokemons[battle_turn]
doSummonMonster(this, it.name)
local summon = getCreatureSummons(this)[1]
local balleffect = pokeballs["normal"].effect
if it.ball and pokeballs[it.ball] then
balleffect = pokeballs[it.ball].effect
end
doSendMagicEffect(getThingPos(summon), balleffect)
setPlayerStorageValue(summon, 10000, balleffect)
setPlayerStorageValue(summon, 10001, gobackmsgs[math.random(#gobackmsgs)].back:gsub("doka", it.nick ~= "" and it.nick or it.name))
setPlayerStorageValue(summon, 1007, it.nick ~= "" and it.nick or it.name)
doSetMonsterGym(summon, focus)
local name = it.nick ~= "" and it.nick or getCreatureName(this).."s "..it.name
setWildPokemonLevel(summon, it.level, getPokemonStatus(it.name, (it.extralevel + it.level)), name, 1.5)
doCreatureSay(this, gobackmsgs[math.random(#gobackmsgs)].go:gsub("doka", getPlayerStorageValue(summon, 1007)), 1)
fighting = true
battle_turn = battle_turn + 1
end
local function doWinDuel(cid, npc)
if not isCreature(cid) then return true end
local this = npc
doPlayerSetStorageValue(cid, 344487, 1)
doCreatureSay(npc, "You won the duel! Congratulations, choose your prize!", 1)
end
function onCreatureSay(cid, type, msg)
local msg = string.lower(msg)
if focus == cid then
talk_start = os.clock()
end
if msgcontains(msg, 'hi') and focus == 0 and getDistanceToCreature(cid) <= 4 then
focus = cid
talk_start = os.clock()
conv = 1
selfSay("Hello "..getCreatureName(cid)..", my name is Chuck Norris and I'm Last's Fight Trainer. How may I help you?")
return true
end
if isDuelMsg(msg) and conv == 1 and focus == cid then
if getPlayerStorageValue(cid, 344481) ~= 1 or getPlayerStorageValue(cid, 344482) ~= 1 or getPlayerStorageValue(cid, 344483) ~= 1 or getPlayerStorageValue(cid, 344484) ~= 1 or getPlayerStorageValue(cid, 344485) ~= 1 or getPlayerStorageValue(cid, 344485) ~= 1 then
selfSay("You need defeated the first, second, third, fourth, fifth and sixth trainer.")
focus = 0
return true
end
if getPlayerStorageValue(cid, 344487) == 1 then
selfSay("You have defeated my, choose your prize!")
focus = 0
return false
end
if not hasPokemon(cid) then
selfSay("To battle agains't a gym leader you need pokemons.")
return true
end
selfSay("You are challenging me to a battle. It will be a "..#pokemons.." pokemon limit battle, let's start?")
conv = 2
return true
end
if isConfirmMsg(msg) and conv == 2 and focus == cid then
challenger = focus
setPlayerStorageValue(cid, 990, 1)
selfSay("Yea, let's fight!")
talk_start = os.clock()
addEvent(doSummonGymPokemon, 850, getThis())
conv = 3
return true
end
if isNegMsg(msg) and conv == 2 and focus == cid then
focus = 0
selfSay("It is better for you to refuse a battle against me!")
return true
end
if msgcontains(msg, 'bye') and focus == cid then
selfSay('Bye and do your best trainer!')
setPlayerStorageValue(focus, 990, -1)
focus = 0
return true
end
end
local afk_warning = false
local change = false
function onThink()
if focus == 0 then
selfTurn(2)
fighting = false
challenger = 0
challenger_turn = 0
battle_turn = 1
afk_time = 0
afk_warning = false
if #getCreatureSummons(getThis()) >= 1 then
setPlayerStorageValue(getCreatureSummons(getThis())[1], 1006, 0)
doCreatureAddHealth(getCreatureSummons(getThis())[1], -getCreatureMaxHealth(getCreatureSummons(getThis())[1]))
end
return true
else
if not isCreature(focus) then
focus = 0
return true
end
if fighting then
talk_start = os.clock()
if not isCreature(getCreatureTarget(getThis())) then
if #getCreatureSummons(challenger) >= 1 then
selfAttackCreature(getCreatureSummons(challenger)[1])
change = true
afk_time = 0
else
afk_time = afk_time + 0.5
if change then
change = false
challenger_turn = challenger_turn + 1
end
end
end
if afk_time > afk_limit_time then
setPlayerStorageValue(focus, 990, -1)
focus = 0
selfSay("I have waited too long, come back when you are ready!")
return true
end
if not afk_warning and afk_time > afk_limit_time / 2 then
selfSay("Where's your pokemon? Let's fight!")
afk_warning = true
end
if #getCreatureSummons(getThis()) == 0 then
if battle_turn > #pokemons then
addEvent(doWinDuel, 1000, focus, getThis())
setPlayerStorageValue(focus, 990, -1)
focus = 0
return true
end
addEvent(doSummonGymPokemon, 1000, getThis())
end
if not hasPokemon(challenger) or challenger_turn >= 7 or challenger_turn > #pokemons then
selfSay("You lost our duel! Maybe some other time you'll defeat me.")
setPlayerStorageValue(focus, 990, -1)
focus = 0
return true
end
end
local npcpos = getThingPos(getThis())
local focpos = getThingPos(focus)
if npcpos.z ~= focpos.z then
setPlayerStorageValue(focus, 990, -1)
focus = 0
selfSay("Bye then.")
return true
end
if (os.clock() - talk_start) > 30 then
selfSay("Good bye and keep training!")
setPlayerStorageValue(focus, 990, -1)
focus = 0
end
if getDistanceToCreature(focus) > max_distance then
setPlayerStorageValue(focus, 990, -1)
focus = 0
return true
end
local dir = doRedirectDirection(getDirectionTo(npcpos, focpos))
selfTurn(dir)
end
return true
end
Eu vejo é que o storage e 344487,você sabe como consertar? você fez o sistema
Editado Fevereiro 3 por BLACKHERT
Sim eu fiz isso, só que fiquei com preguiça de procurar no movements OKASOAKSOAK (:
@GMHareaOT
Retire a tag do drown.lua no movements.xml ;P
Eu fiz minha quest por box (:
Champion Box, ganha Hitmonlee, Hitmonchan, Hitmontop ou Tyrogue .
info
Grupo: Conde
Registrado: 06/08/11
Posts: 752
Reputação: +112

Você não entendeu direito, é o mesmo storage? Sim, mas não o mesmo valor
Quando ganha do Chuck Norris, voce ganha o valor 1, precisa do valor 1 para pegar o pokemon, quando pega o pokemon ganha valor 2, com valor 1 ou 2 nao da pra lutar com chuck norris, e com valor 2 bloqueia pegar outro pokemon.
@
para ser então eu acho que é certo como você diz, mas em um valor de 2 dando o jogador pode continuar a lutar com Chuck Norris
info
Grupo: Conde
Registrado: 06/08/11
Posts: 752
Reputação: +112

Tem certeza? se você olhar o chuck e outros, o chuck tem 2 condições de storage, pode ver perto do "isDuel" a segunda e pra checar se ja ganho do chuck
info
Grupo: Artesão
Registrado: 02/07/11
Posts: 129
Reputação: +6

Alguem poderia me dizer como tira o bug que o player toma dano em baixo da agua
e mostra a pasta que mostra como por dive sistem
info
Grupo: Conde
Registrado: 06/08/11
Posts: 752
Reputação: +112

No movements.xml procura scripts que tenham como "value" ou "script" com nome de "drown.lua" remova as linhas que tiver isso
Tenso...1 dia off e vai ler as pag tem mais de 10 pagina de posts....das 10 pagina nap aproveita 10% e,e....
Enfim...to sem net em casa entao n da pra ajudar em muita coisa..to no ipaddo meu cunhado u.u.
@all...alguem sabe como que foi add aquele comando para quando clicar com o pageup e pagedown do teclado ele mandar !u e !down?quero fazer iso para o botao ESC..mas pelo que olhei n axei em nenhum script ![]()
otro problema que n axei com oresolver tmbem e o invisible para os johto...eu uso invisible com um gengar ele ataque normal de invisible...porem quando ataco usando um shiny gengar ou um houndoom por exemplo ele fica invisivel mas n ataca enqt n sai do invisible...x,x ... Ja olhei os lugares que eu sei que poderia configurar isto mas nao axei nada...alguem sabe onde e que muda?
dificil tambem esta sendo balancear os stats dos pokemons...
Para quem queria desativar a funcao de fome e so ir em config.lua e mudar stateHunger para -1 assim o pokemon nunca vai ficar com fome ![]()
E quanto ao esuqema das foto da ball que eu li a uns topicos atras..seria um funcao que ao dar Go no pokemon ele iria tranforma a ball no item com a foto da ball aberta com o pokemon...e ao dar back tranformava devolta na ball fechada...mas creio q daria muito trabalho e pesaria muito na hr de troca pokemons ![]()
info
Grupo: Campones
Registrado: 02/11/08
Posts: 45
Reputação: +3
Char no Tibia: Jezhur onyan
bem valeu ae last demon, mais tipo se n me engano o problema da cdbar + shiny system é o arquivo some functions da pasta lib, pelomenos é oq eu axo, tem como vc me passa ele? ^^